home *** CD-ROM | disk | FTP | other *** search
/ Delphi 5 for Professionals / DELPHI5.iso / AddOns / Components / TEECHART / DELPHI3.EXE / %MAINDIR% / Examples / Delphi3 / ISAPI CGI and TeeChart / UnitMain.pas < prev   
Encoding:
Pascal/Delphi Source File  |  1998-11-17  |  1.6 KB  |  59 lines

  1. unit UnitMain;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Classes, HTTPApp;
  7.  
  8. { This example web module returns a JPEG image of a TeeChart component.
  9.   The Chart1 component is located in UnitChart.pas unit.
  10. }
  11. type
  12.   TWebModule1 = class(TWebModule)
  13.     procedure WebModule1WebActionItem1Action(Sender: TObject;
  14.       Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
  15.   private
  16.     { Private declarations }
  17.   public
  18.     { Public declarations }
  19.   end;
  20.  
  21. var
  22.   WebModule1: TWebModule1;
  23.  
  24. implementation
  25.  
  26. {$R *.DFM}
  27. Uses UnitChart;
  28.  
  29. { This event is created at design-time, double-clicking the WebModule
  30.   form and adding an action... }
  31. procedure TWebModule1.WebModule1WebActionItem1Action(Sender: TObject;
  32.   Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
  33. Var Stream:TMemoryStream;
  34. begin
  35.   With TForm2.Create(Self) do { create the Form where is the Chart1... }
  36.   try
  37.     With ChartToJPEG(Request) do { convert Chart1 to JPEG }
  38.     try
  39.       Stream:=TMemoryStream.Create;  { create a temporary stream in memory... }
  40.       try
  41.         SaveToStream(Stream); { save the jpeg to the stream... }
  42.         Stream.Position := 0;
  43.         Response.ContentType:='image/jpeg';   { send the stream... }
  44.         Response.ContentLength:=Stream.Size;
  45.         Response.SendResponse;
  46.         Response.SendStream(Stream);
  47.       finally
  48.         Stream.Free;  { release the temporary stream... }
  49.       end;
  50.     finally
  51.       Free;  { <-- free the temporary JPEG object returned by ChartToJPEG }
  52.     end;
  53.   finally
  54.     Free; { free the Form2 }
  55.   end;
  56. end;
  57.  
  58. end.
  59.